<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <p>搭建配置一个线上生产环境，把应用部署到服务器中，通过域名再暴露到互联网上，主要有这几件事情大家需要了解下：</p>
    <h3>一、域名</h3>
    <p>我们要做的第一件事情，就是需要先购买一个属于自己的域名，虽然 IP 地址也可以访问到资源，但是 IP 不够友好不容易记住，而且一些第三方应用平台对于 IP 的支持度也不够，比如苹果商店和微信小程序是不支持 IP 绑定的，必须是域名，而域名的访问协议还必须是 HTTPS 的，所以域名这个一定需要买，在哪里买如如何购买或者生成 HTTPS 的证书，域名的解析等等，后面章节会有介绍。</p>

    <h3>二、服务器</h3>

    <p>搞定域名后，第二件事情需要购买一个服务器，无论它是共享的还是独享的，可以理解为带外网 IP 的一台电脑，在这个服务器上，我们会把服务端的 Nodejs 的代码部署上去，然后启动后，我们会监听 80 端口的请求，然后根据一些转发机制，比如通过 Nginx 来把这些请求转发到这个 Nodejs 的服务端口上，让它接管以及给予响应；</p>

    <h3>三、备案</h3>

    <p>那么第三件事情，就是购买域名和购买服务器后，通过服务器的配置提供一个可外面访问的网站，我们需要对这个域名进行备案，几年前，备案是让站长十分头疼的事情，现在已经容易多了，为什么要备案的原因我相信你懂的，除非你是在国外提供服务，什么都在国外，但是只要你对国内提供一些服务或者使用一些服务，比如你想用一些短信服务或者邮件服务，包括基于微信公众号和小程序的服务，备案都是我们作为公民要去遵守的一个规范，这个小册中我也会告诉大家如何备案；</p>

    <h3>四、服务环境配置</h3>

    <p>第四件事情，就是服务器的配置，这个配置包含，用户权限和无密码登录，Nodejs 环境和必备包组件安装搭建，端口转发，HTTPS 证书的生成配置，Nginx 的安装配置，甚至是防火墙，本地数据库，自动备份机制等等，我都把它归结到服务器配置中。</p>

    <h3>五、数据库配置运维</h3>

    <p>第五件事情，就是数据库，这个跟服务器配置强相关，如果我们是使用服务器上安装的本地数据库的话，如果是用云数据库，就不需要这一步了，不过云数据库一般价格不菲，我们还是会选择尽量免费的东西，让大家尽量低成本的学习，服务器的本地数据库，就会涉及到数据库的角色，读写权限和自动备份机制，这里面会有很多坑，也有很多容易让人望而却步的流程，所以也单独拎出来。</p>

    <h3>六、项目部署发布</h3>

    <p>第六件事情，就是项目的部署发布，我们可以粗暴的把代码拷贝和上传，比如 FTP 到服务器中启动，但是这样很低效也容易出错，现在可以选择的方式很多，我个人推荐使用付费或者是免费但私密的第三方 git 仓库平台，来把本地代码自动化部署到线上，本地一句命令实现服务器自动拉代码，拉分支，部署代码，然后在线上自动重启，整个过程尽量的傻瓜化，通过技术来解决效率问题；</p>

    <p>总结一下，就是域名，服务器和服务器配置，域名备案，本地数据库或者云数据库，自动部署和发布的工具，搞定这 5 大块，就具备一定运维能力的工程师了，但距离一个合格的运维工程师，实际还差很远很远，不过即便如此，我们也总算是有能力，用最简单的方式 Get 到如何贯穿前后，如何在不依赖别人的帮助下，快速把感兴趣的小项目捣鼓出来，靠自己独立发布到互联网，让用户来使用，这本身就是一个让人非常有成就感非常 Exciting 的事情，难度上大家不用太担心，我会将这所有的过程简化成几个关键核心的步骤，然后同步给到大家，相信你很快就能掌握这些技能，在工作和创业中一展身手。</p>
  </div>
</template>

<script>
export default {
  data () {
    return {
      msg: 'Vue 前端项目部署案例'
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
  .hello {
    width: 680px;
    margin: 0 auto;
    text-align: left;
  }
  h1 {
    text-align: center;
  }
</style>
